home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d970.lha / NoNTSC / NoNTSC.asm < prev    next >
Assembly Source File  |  1993-10-03  |  4KB  |  207 lines

  1. * NoNTSC - Just for fun written by Thorsten Stocksmeier - Freeware Sept. 1993
  2.  
  3.  INCLUDE "startup.i"
  4.  
  5. OpenLibrary      equ -552
  6. CloseLibrary     equ -414
  7. AllocMem    equ -198
  8. SetFunction    equ -420
  9. CopyMem     equ -624
  10. OpenScreen    equ -198
  11. Open        equ -30
  12.  
  13.  dc.b "$VER: NoNTSC1.3 (27.09.93) written by Thorsten Stocksmeier",0
  14.  even
  15.  
  16. Programm
  17.  lea Graph(PC),a1
  18.  move.l 4,a6
  19.  clr.l d0
  20.  jsr OpenLibrary(a6)
  21.  tst.l d0
  22.  beq NoLib
  23.  lea GraphB(PC),a0
  24.  move.l d0,(a0)
  25. ODos
  26.  lea Dos(PC),a1
  27.  move.l 4,a6
  28.  clr.l d0
  29.  jsr OpenLibrary(a6)
  30.  tst.l d0
  31.  beq NoLib
  32.  lea DosB(PC),a0
  33.  move.l d0,(a0)
  34. OpenWindow
  35.  move.l DosB(PC),a6
  36.  lea WindowName(PC),a0
  37.  move.l a0,d1
  38.  move.l #1005,d2
  39.  jsr Open(a6)
  40.  tst.l d0
  41.  beq CloseIt
  42.  lea WindowB(PC),a0
  43.  move.l d0,(a0)
  44.  move.l d0,d1
  45.  lea Hello(PC),a0
  46.  move.l a0,d2
  47.  move.l #NexTex-Hello,d3
  48.  jsr -48(a6)
  49. OLib
  50.  lea Int(PC),a1
  51.  move.l 4,a6
  52.  moveq #0,d0
  53.  jsr OpenLibrary(a6)
  54.  tst.l d0
  55.  beq CloseIt
  56.  move.l d0,a5
  57.  lea IntB(PC),a0
  58.  move.l d0,(a0)
  59. Allocate
  60.  move.l #3000,d0
  61.  move.l #1,d1
  62.  jsr AllocMem(a6)
  63.  tst.l d0
  64.  beq NoLib
  65.  move.l d0,d7
  66. LinkIn
  67.  move.l a5,a1
  68.  move.l #OpenScreen,a0
  69.  move.l d7,a2
  70.  move.l a2,d0
  71.  move.l 4,a6
  72.  jsr SetFunction(a6)
  73.  tst.l d0
  74.  beq NoLib
  75.  lea LinkAdd(PC),a0
  76.  move.l d0,(a0)
  77. Copy
  78.  lea DoIt(PC),a0
  79.  move.l d7,a1
  80.  move.l #3000,d0
  81.  jsr CopyMem(a6)
  82. CloseIt
  83. NoLib
  84.  moveq #0,d0
  85.  rts
  86.  
  87. DoIt
  88.  movem.l a0-a7/d0-d7,-(sp)
  89.  lea Transformed(PC),a1
  90.  move.l #0,(a1)
  91. ByeBye
  92.  btst #6,$bfe001
  93.  bne Weiter
  94.  move.l DosB(PC),a6
  95.  move.l WindowB(PC),d1
  96.  jsr -36(a6)
  97.  move.l LinkAdd(PC),d0
  98.  move.l IntB(PC),a1
  99.  move.l #OpenScreen,a0
  100.  move.l 4,a6
  101.  jsr SetFunction(a6)
  102.  lea DoIt(PC),a1
  103.  move.l #3000,d0
  104.  jsr -210(a6)
  105.  move.l DosB(PC),a1
  106.  jsr -414(a6)
  107.  move.l IntB(PC),a1
  108.  jsr -414(a6)
  109.  bra GetOldLock  
  110. Weiter
  111.  move.w 6(a0),d0
  112.  cmp.w #256,d0
  113.  bls NochMa
  114.  bra ShowUnk
  115. NochMa
  116.  cmp.w #200,d0
  117.  bls TestNow
  118.  cmp.w #256,d0
  119.  bge TestNow
  120.  bra ShowIrr
  121. TestNow
  122.  move.w 6(a0),d0
  123.  cmp.w #200,d0
  124.  bne keins
  125.  move.w #256,6(a0)
  126.  move.l WindowB(PC),d1
  127.  lea AnotherTex(PC),a0
  128.  move.l a0,d2
  129.  move.l #AndBye-AnotherTex,d3
  130.  move.l DosB(PC),a6
  131.  jsr -48(a6)
  132.  lea Transformed(PC),a0
  133.  move.l #1,(a0)
  134.  bra GetOldLock
  135. keins
  136.  move.l WindowB(PC),d1
  137.  lea NexTex(PC),a0
  138.  move.l a0,d2
  139.  move.l #AnotherTex-NexTex,d3
  140.  move.l DosB(PC),a6
  141.  jsr -48(a6)
  142. GetOldLock
  143.  movem.l (sp)+,a0-a7/d0-d7
  144.  move.l LinkAdd(PC),a1
  145.  jsr (a1)
  146.  movem.l a0-a7/d0-d7,-(sp)
  147.  tst.l d0
  148.  beq Nanana
  149.  add.l #84,d0
  150.  move.l d0,a5
  151.  move.l Transformed(PC),d0
  152.  tst.l d0
  153.  beq Nanana
  154.  move.l a5,a1
  155.  move.w #0,d0
  156.  move.w #230,d1
  157.  move.l GraphB(PC),a6
  158.  jsr -240(a6)
  159.  move.l a5,a1
  160.  lea AndBye(PC),a0
  161.  move.l #HowLong-AndBye,d0
  162.  jsr -60(a6)
  163. Nanana
  164.  movem.l (sp)+,a0-a7/d0-d7
  165.  rts
  166.  
  167. ShowIrr
  168.  move.l WindowB(PC),d1
  169.  lea HowLong(PC),a0
  170.  move.l a0,d2
  171.  move.l #AllFinish-HowLong,d3
  172.  move.l DosB(PC),a6
  173.  jsr -48(a6)
  174.  bra GetOldLock
  175.  
  176. ShowUnk
  177.  move.l WindowB(PC),d1
  178.  lea AllFinish(PC),a0
  179.  move.l a0,d2
  180.  move.l #NowReally-AllFinish,d3
  181.  move.l DosB(PC),a6
  182.  jsr -48(a6)
  183.  bra GetOldLock
  184.  
  185. Transformed    ds.l 1
  186. OK         dc.l 0
  187. Int        dc.b "intuition.library",0
  188. IntB        ds.l 1
  189. LinkAdd     ds.l 1
  190. Dos         dc.b "dos.library",0
  191. DosB         ds.l 1
  192. Graph        dc.b "graphics.library",0
  193. GraphB        ds.l 1
  194. WindowB     dc.l 0
  195. WindowName    dc.b "RAW:0/201/640/55/NoNTSC © 1993 by Thorsten Stocksmeier --- This program is FREEWARE!!!",0
  196. Hello        dc.b 10,$9b,"1;33;42m*** NoNTSC V1.3 activated ***",10
  197.         dc.b 10,$9b,"1;32;43mBreak by pressing left button while opening any screen.",10
  198.         dc.b 10,$9b,"1;31;42m"
  199. NexTex        dc.b "OpenScreen, but no NTSC!                             ",10
  200. AnotherTex    dc.b "Openscreen, NTSC transformed to PAL!!                ",10
  201. AndBye        dc.b "Transformed NTSC-Screen - NoNTSC © 1993 by Thorsten Stocksmeier!"
  202. HowLong        dc.b "Openscreen, something between NTSC and PAL!          ",10
  203. AllFinish    dc.b "Openscreen, but unknown screenmode used! (Interlace?)",10
  204.         dc.b "NOTE: Those should only be used by OpenScreenTags.   ",10
  205. NowReally
  206.  end               
  207.